package cn.iocoder.yudao.module.call.controller.admin.record.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Schema(description = "呼叫中心 - 通话录音新增/修改 Request VO")
@Data
public class CallRecordSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8238")
    private Long id;

    @Schema(description = "主叫手机", requiredMode = Schema.RequiredMode.REQUIRED)
    private String telephone;

    @Schema(description = "坐席工号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String agentNumber;

    @Schema(description = "被叫", requiredMode = Schema.RequiredMode.REQUIRED)
    private String callee;

    @Schema(description = "应答时间")
    private LocalDateTime startTime;

    @Schema(description = "挂断时间")
    private LocalDateTime endTime;

    @Schema(description = "呼叫时长")
    private Integer callSecond;

    @Schema(description = "计费分钟")
    private Integer callMinute;

    @Schema(description = "呼叫方式")
    private Integer callType;

    @Schema(description = "呼叫结果")
    private Integer resultType;

    @Schema(description = "结果描述")
    private String resultMsg;

    @Schema(description = "本地录音地址", example = "https://www.iocoder.cn")
    private String recordUrl;

    @Schema(description = "临时录音地址", example = "https://www.iocoder.cn")
    private String tempRecordUrl;

    @Schema(description = "录音下载状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Boolean downloadStatus;

    @Schema(description = "渠道ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13947")
    private Long channelId;

    @Schema(description = "请求编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String reqNo;

    @Schema(description = "用户数据")
    private String userData;

    @Schema(description = "场景来源", requiredMode = Schema.RequiredMode.REQUIRED)
    private String source;

    @Schema(description = "来源编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5532")
    private String sourceId;

    @Schema(description = "负责人", requiredMode = Schema.RequiredMode.REQUIRED, example = "16447")
    private Long ownerUserId;

    @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "16447")
    private Long deptId;

    @Schema(description = "下载失败次数")
    private Integer downloadFailCount;

    private Integer isClue;

    private Long clueId;

}